package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.BuyBean;

import java.time.LocalDate;

/**
 * 采购订单业务接口
 */
public interface IBuyService {
    /**
     * 添加采购信息，同时批量添加采购明细，同时更新库存信息。
     *
     * 1. 添加采购信息
     * 2. 根据用户id查询购物车集合，
     * 3. 批量添加采购明细，同时更新库存中的商品数量和最新采购价
     * 4. 清空购物车
     * @param buy 采购订单
     */
    public void add(BuyBean buy,Integer userId);

    /**
     * 动态分页查询订单
     * @param pageNO 页码
     * @param client 供应商名称
     * @param startDate 起始日期
     * @param endDate 结束日期
     * @return 订单分页对象
     */
    public IPage<BuyBean> cutByItem(Integer pageNO, String supplier,
                                    LocalDate startDate,LocalDate endDate);

    /**
     * 按编号查询采购记录，同时查询采购明细集合
     * @param id 编号
     * @return 订单对象
     */
    public BuyBean findById(Integer id);


}
